import type { ApiResponse } from '../types/auth'
import { getErrorMessage } from '../types/errcode'

/**
 * 处理API响应
 * @param response API响应
 * @returns 处理后的数据或抛出错误
 */
export async function handleApiResponse<T>(response: ApiResponse<T>): Promise<T> {
  if (response.code !== 0) {
    throw new Error(response.message || getErrorMessage(response.code))
  }
  return response.data
}

/**
 * 处理API错误
 * @param error 错误对象
 * @returns 错误消息
 */
export function handleApiError(error: any): string {
  if (error && typeof error === 'object') {
    if (error.data && error.data.message) {
      return error.data.message
    } else if (error.message) {
      return error.message
    }
  }
  return '请求失败，请重试'
}